import api from './api'
import { getLoginFrom, debugPlatformInfo } from '@/utils/platform'
import request from '@/utils/request'

/**
 * 使用手机 + 验证码登录
 */
export function userLogin(data) {
	// 自动添加平台标识
	const loginData = {
		...data,
		from: getLoginFrom()
	}

	console.log('手机验证码登录 - 平台标识:', loginData.from)

	return api.post('/member/auth/sms-login', loginData, {
		login: false
	})
}

/**
 * 使用手机 + 验证码登录  member/auth/send-sms-code
 */
export function smsSend(data) {
	// 自动添加平台标识
	const smsData = {
		...data,
		from: getLoginFrom()
	}

	console.log('发送短信验证码 - 平台标识:', smsData.from)

	return api.post('/member/auth/send-sms-code', smsData, {
		login: false
	})
}

/**
 * 小程序 member/auth/auth-miniapp-login         
 */
export function userLoginForWechatMini(data) {
	// 自动添加平台标识
	const loginData = {
		...data,
		from: getLoginFrom()
	}

	console.log('微信小程序登录 - 平台标识:', loginData.from)

	return api.post('/member/auth/auth-miniapp-login', loginData, {
		login: false
	})
}

/**
 * userAuthSession   
 */
export function userAuthSession(data) {
	return request({
		url: '/auth/session',
		method: 'post',
		data
	})
}

/**
 * wechatAuth   
 */
export function wechatAuth(data) {
	console.log('wechatAuth', data);

	// 自动添加平台标识
	const authData = {
		...data,
		from: getLoginFrom()
	}

	console.log('微信授权 - 平台标识:', authData.from)

	return api.get('/member/auth/auth-wechat-login', authData, {
		login: false
	})
}

/**
 * 支付宝小程序授权登录
 */
export async function alipayMiniAppLogin(data) {
	console.log('alipayMiniAppLogin', data);

	// 自动添加平台标识和调试信息
	const loginData = {
		...data,
		from: getLoginFrom(),
		buyerId: data.buyerId || uni.getStorageSync('buyer_id') || null
	}

	console.log('支付宝小程序登录 - 请求数据:', loginData)

	try {
		const res = await api.post('/member/auth/auth-alipay-miniapp-login', loginData, {
			login: false
		})
		console.log('alipayMiniAppLogin res', res);
		return res;
	} catch (error) {
		console.log('alipayMiniAppLogin error', error);
		return null;
	}
}

/**
 * 支付宝小程序授权
 */
export function alipayAuth(data) {
	return request({
		url: '/auth/alipay/auth',
		method: 'post',
		data
	})
}

/**
 * 用户退出登录
 */
export function userLogout() {
	console.log('调用退出登录API');

	return api.post('/member/auth/logout', {}, {
		login: true // 需要token验证
	})
}